
///////////////////////////////////////////////////////////////////////////////
//
//  Copyright (c) 2008, Adam Kubach
//  All rights reserved.
//  BSD License: http://www.opensource.org/licenses/bsd-license.html
//
///////////////////////////////////////////////////////////////////////////////

#include "Minerva/Plugins/OSM/Object.h"


using namespace Minerva::Layers::OSM;


///////////////////////////////////////////////////////////////////////////////
//
//  Constructor.
//
///////////////////////////////////////////////////////////////////////////////

Object::Object() : 
  BaseClass(),
  _id ( 0 ),
  _tags(),
  _timestamp()
{
}


///////////////////////////////////////////////////////////////////////////////
//
//  Constructor.
//
///////////////////////////////////////////////////////////////////////////////

Object::Object ( IdType id, const Date& timestamp, const Tags& tags ) : 
  BaseClass(),
  _id ( id ),
  _tags ( tags ),
  _timestamp ( timestamp )
{
}


///////////////////////////////////////////////////////////////////////////////
//
//  Destructor.
//
///////////////////////////////////////////////////////////////////////////////

Object::~Object()
{
}


///////////////////////////////////////////////////////////////////////////////
//
//  Get the id.
//
///////////////////////////////////////////////////////////////////////////////

Object::IdType Object::id() const
{
  return _id;
}


///////////////////////////////////////////////////////////////////////////////
//
//  Get all the tags.
//
///////////////////////////////////////////////////////////////////////////////

const Object::Tags& Object::tags() const
{
  return _tags;
}


///////////////////////////////////////////////////////////////////////////////
//
//  Get the timestamp.
//
///////////////////////////////////////////////////////////////////////////////

const Object::Date& Object::timestamp() const
{
  return _timestamp;
}
